<?php
set_include_path(get_include_path() . PATH_SEPARATOR . "/Kioskos");
set_include_path(get_include_path() . PATH_SEPARATOR . "..");
set_include_path(get_include_path() . PATH_SEPARATOR . "../..");
require_once("Interfaces/Controllable.php");
require_once("DAO/MySQL.php");
require_once("BO/TipoEncuesta.php");
$_DEBUG = true;
class  Secciones implements Controllable, Iterator{
public $_DEBUG = false;

    public $secciones ;
    public $index;
    public $Encuesta;
    public function __construct($encuesta) {
       if($this->_DEBUG){
            echo "Construct TiposEncuestas";
        }
        $this->index = 0;
        $this->secciones = array();
        $this->Encuesta = $encuesta;
        if(!is_null($encuesta)){
            $this->loadAllFromDB();
        }
    }

    function asControl($controlTag , $selected = false){
        $retVal = "";
        $selected = $this->current();
        //echo "<br/>".count($this->tiposEncuestas) . " tipos<br/>";
        if($controlTag = "SELECT"){
            for( $i = 0 ; $i < count($this->secciones) ; $i++ ){
                $retVal .= $this->secciones[$i]->asOption(( $this->secciones[$i] == $selected )) . "\n";
            }
            $salt = rand();
            $ctlCode = "<$controlTag name='Secciones_idSecciones' id='Secciones_idSecciones$salt'>".$retVal."</$controlTag>";
            $ctlCode .= "<a href='javascript:nuevaSeccion();'>nuevo</a>";
            $ctlCode .= "&nbsp;<a href='javascript:cargarComboSecciones(\"Secciones_idSecciones$salt\");'>refrescar</a>";
        }
        
        return $ctlCode;
    }
    public function asForm(){
        return "<H1>Secciones AS FORM</H1>";
    }
    public function asOptions(){
        $retVal = "";
        $selected = $this->current();
        for( $i = 0 ; $i < count($this->tiposEncuestas) ; $i++ ){
            $retVal .= $this->tiposEncuestas[$i]->asOption(( $this->tiposEncuestas[$i] == $selected )) . "\n";
        }
        return $retVal;
    }
    public function asSelect(){
        return $this->asControl("SELECT");
    }
    public function current (  ){
        if(count($this->tiposEncuestas) > 0)
        return $this->tiposEncuestas[$this->index];
        return null;
    }
    public function key (  ){
        return $this->index;
    }
    public function next (  ){
        ++$this->index;
    }
    public function rewind (  ){
        $this->index = 0;
    }
    public function valid (  ){
        return isset($this->tiposEncuestas[$this->index]);
    }
    public function loadAllFromDB(){
        $table = getTable("CALL ObtenerTiposEncuestas(null, null);");    
        for( $i = 0 ; $i < count( $table ) ; $i++ ){
            $row = $table[ $i ];
            $tipoEncuesta = new TipoEncuesta( $row["idTiposEncuestas"] , $row["TipoEncuesta"] );
            $this->tiposEncuestas[] = $tipoEncuesta;
        }
    }
}
//////////////////  AJAX  //////////////////////
if( isset($_GET["refresh"]) ){
    if( $_GET[ "refresh" ] == "all" ){
        $tE = new TiposEncuestas();
        $tE->loadAllFromDB();
        echo $tE->asOptions();
    }
}
?>